#循环输出九九乘法表

#左边开始的九九乘法表

#1.第一个三角形
for j in range(1,10): #外循环
    for i in range(1,j+1): #内循环
        print('{}*{}={:<4}'.format(i,j,i*j),end='')  #format格式化输出总长度为8字节/等式
    print('')

#2.第二个三角形
for j in range(9,0,-1):
    for i in range(1,j+1):
        print('{}*{}={:<4}'.format(i,j,i*j),end='')
    print('')

print('='*40)


#使用while循环输出的九九乘法表
#3.第三个三角形
j=1
while j <=9:
    i=1
    while i<=j:
        print('{}*{}={:<4}'.format(i,j,i*j),end='')
        i+=1
    print('')
    j+=1

#4.第四个三角形
j=9
while j>=1:
    i=1
    while i<=j:
        print('{}*{}={:<4}'.format(i,j,i*j),end='')
        i+=1
    print('')
    j-=1


#右边开始的九九乘法表

#5.第五个三角形
for j in range(1,10):
    for k in range(1,10-j):   #此循环用来搞出空格，k从（1，9）开始遍历，第一行前面要八个等式长度的空格。
        print(end="        ") #一个等式8个字节，所以我弄了8个空格
    for i in range(1,j+1):
        print('{}*{}={:<4}'.format(i,j,i*j),end='')
    print('')

#6.第六个三角形
for j in range(9,0,-1):
    for k in range(1,10-j):
        print(end='        ')
    for i in range(1,j+1):
        print('{}*{}={:<4}'.format(i,j,i*j),end='')
    print('')

print('='*40)



#使用while循环输出的九九乘法表
#7.第七个三角形
j=1
while j <=9:
    k=2   #这里我试了好几次，如果k=1的话，整个三角形会向右移位一个8字节，所以从2开始。
    while k<=10-j:
        print(end='        ')
        k+=1
    i=1
    while i<=j:
        print('{}*{}={:<4}'.format(i,j,i*j),end='')
        i+=1
    print('')
    j+=1

#8.第八个三角形
j=9
while j>=1:
    k = 2
    while k <= 10 - j:
        print(end='        ')
        k += 1
    i=1
    while i<=j:
        print('{}*{}={:<4}'.format(i,j,i*j),end='')
        i+=1
    print('')
    j-=1








    
